// 规则条件
export const conditionData = [
  { label: 'Permission.eq', value: 'eq' }, // 等于
  { label: 'Permission.neq', value: 'neq' }, // 不等于
  { label: 'Permission.gt', value: 'gt' }, // 大于
  { label: 'Permission.gte', value: 'gte' }, // 大于等于
  { label: 'Permission.lt', value: 'lt' }, // 小于
  { label: 'Permission.lte', value: 'lte' }, // 小于等于
  { label: 'Permission.include', value: 'include' }, // 包含
  { label: 'Permission.notin', value: 'notin' }, // 不包含
  { label: 'Permission.like', value: 'like' }, // 文字包含
  { label: 'Permission.likeIn', value: 'likeIn' }, // 文字，分割包含
  { label: 'Permission.nlike', value: 'nlike' }, // 文字不包含
  { label: 'Permission.startwith', value: 'startwith' }, // 文字开头是
  { label: 'Permission.nstartwith', value: 'nstartwith' }, // 文字开头不是
  { label: 'Permission.endwith', value: 'endwith' }, // 文字结尾是
  { label: 'Permission.nendwith', value: 'nendwith' }, // 文字结尾不是
  { label: 'Permission.isnull', value: 'isnull' }, // 是null
  { label: 'Permission.isnotnull', value: 'isnotnull' }, // 不是null
];

export const enumPerm = {
  view: 1 << 0,
  edit: 1 << 1,
  delete: 1 << 2,
};

export const enumRoleType = {
  Model: '0',
  ModelQuery: '1'
}

export const enumGroupType = {
  Input: '0',
  Variable: '1',
}

// 规则类型
export const roleTypeData = [
  { label: 'Permission.model_object', value: enumRoleType.Model }, // 模型实体
  { label: 'Permission.perm_search', value: enumRoleType.ModelQuery }, // 查询器
];

// 规则分组类型
export const groupTypeData = [
  { label: 'Permission.variable', value: enumGroupType.Variable }, // 变量
  { label: 'Permission.custom', value: enumGroupType.Input }, // 自定义
];

// 规则用户类型 currentUser   currentDepartment    User   Department
export const userTypeData = [
  { label: 'Permission.current_user', value: 'currentUser' }, // 当前用户
  { label: 'Permission.custom_user', value: 'user' }, // 指定用户
  { label: 'Permission.current_department', value: 'currentDepartment' }, // 当前部门
  { label: 'Permission.custom_department', value: 'department' }, // 指定部门
];


// 用户权限枚举
export const userPermData = [
  { label: 'Permission.view', value: 1 }, // 查看
  { label: 'Permission.edit', value: 2 }, // 编辑
  { label: 'Permission.delete', value: 4 }, // 删除
];

// 逻辑运算符
export const logicData = [
  { label: 'Permission.perm_and', value: 'And' }, // 且
  { label: 'Permission.perm_or', value: 'Or' }, // 或
];


// 提交接口数据结构
const json = {
  Name: '',
  ModuleId: '',
  Type: '',
  TypeKey: '',
  Remark: '',
  ModelName: '', // 选择模型的名称 or 查询器的主模型名称
  DataPermGroup: [
    {
      Id: '',
      Conditions: [
        {
          Field: '',
          Operator: '', // 大于等于小于等
          Type: '', // 0 | 1
          // 变量时传参
          Variable: {
            Key: 'User', //固定 currentUser   currentDepartment    User   Department
          },
          Name: '', // 回显 ??
          Value: '3f0e31a123ce402d9f6f5c35029d8c43', // guid => Id: "3f0e31a123ce402d9f6f5c35029d8c43"
          Connector: 'and' // And Or ??
        }
      ],
      MemberPermList: [
        {
          MemberType: '',
          MemberId: '',
          MemberName: '',
          PermValue: '',  // 1 | 2 | 4
        }
      ]
    }
  ],
}